﻿//Agregado 1-12 .Se modifico toda la biblioteca

function activarUpload() {
    $(function () {
        //Function to upload file.
        new AjaxUpload('#uploadImg', {
            action: 'FileUploadHandler.upload',
            name: 'upload',
            onComplete: function (file) {
                $('#Photo').attr('src', '/Imagenes/temp/' + file);
            },
            onSubmit: function (file, ext) {
                if (!(ext && /^(png|bmp|jpg|gif)$/i.test(ext))) {
                    alert('Formato invalido de archivo.');
                    return false;
                }
            }
        });
    });
}

function validarPelicula() {
    jQuery.validator.addMethod("alfanumerico", function (value, element) {
        return this.optional(element) || /^[\w.,: áéíóúÁÉÍÓÚñÑ]*$/.test(value);
    }, "Ha ingresado caracteres inválidos");

    $('#frmPelicula').validate({
        errorPlacement: function (error, element) {
            error.insertAfter(element);
            error.css("margin", "0 0 0 0");
        },
        rules: {
            pelicula: {
                required: true,
                alfanumerico: true,
                maxlength: 60
            },
            anio: {
                required: true,
                number: true,
                minlength: 4,
                maxlength: 4
            },
            duracion: {
                required: true,
                number: true,
                maxlength: 3
            },
            resumen: {
                required: true,
                alfanumerico: true,
                maxlength: 1000
            },
            directores: {
                required: true,
                alfanumerico: true,
                maxlength: 60
            },
            actores: {
                required: true,
                alfanumerico: true,
                maxlength: 250
            }
        },
        messages: {
            pelicula: {
                required: "Debe ingresar el título de la película",
                maxlength: "Ha superado el límite de {0} caracteres"
            },
            anio: {
                required: "Debe ingresar el año de estreno",
                number: "El año es inválido",
                minlength: "El año debe tener {0} dígitos",
                maxlength: "El año debe tener {0} dígitos"
            },
            duracion: {
                required: "Debe ingresar la duración",
                number: "Debe ingresar la duración en minutos",
                maxlength: "Ha superado el límite de {0} caracteres"
            },
            resumen: {
                required: "Debe ingresar el resumen",
                maxlength: "Ha superado el límite de {0} caracteres"
            },
            directores: {
                required: "Debe ingresar el director",
                maxlength: "Ha superado el límite de {0} caracteres"
            },
            actores: {
                required: "Debe ingresar al menos un actor",
                maxlength: "Ha superado el límite de {0} caracteres"
            }
        }
    });
    if ($("#frmPelicula").valid())
        return true;
    else
        return false;
}

function submitirPelicula() {
    
    if (validarPelicula()) {

        //Obtenemos el id del usuario. Si inserta es uno y si actualiza es el del que lo creo//
        var usuario_id;
        if ($("#pelicula_id").val() == "") {
            var respuestaUsuario = llamarServicio("POST", "/Servicios/servicio.asmx/ObtenerUsuario", "", false, "application/json; charset=utf-8", "json");
            //Agregado 1-12
            if (respuestaUsuario == null) {
                mostrarAlert('Error... ', 'Hubo un error en el servidor al intentar obtener el usuario.', 'alert-error');
            }
            /**************/
            usuario_id = respuestaUsuario.Id;
        }
        else {
            usuario_id = $("#usuario_id").val();
        }

        var datos = "{'pelicula_id': '" + $('#pelicula_id').val() + "','genero_id': '" + $('#ddlGenero option:selected').val() + "','usuario_id': '" + usuario_id + "','titulo': '" + $('#pelicula').val() + "','anio': '" + $('#anio').val() + "','resumen': '" + $('#resumen').val() + "','origen': '" + $('#ddlOrigen option:selected').val() + "','duracion': '" + $('#duracion').val() + "','clasificacion': '" + $('#ddlClasificacion option:selected').val() + "','imagen': '" + $('#Photo').attr('src') + "','directores': '" + $('#directores').val() + "','actores': '" + $('#actores').val() + "'}";
        var respuestaPelicula = null;
        var seActualizo = false;
        if ($("#pelicula_id").val() == "") {
            respuestaPelicula = llamarServicio("POST", "/Servicios/servicio.asmx/InsertarPelicula", datos, false, "application/json; charset=utf-8", "json");
            //Agregado 1-12
            if (respuestaPelicula == null) {
                mostrarAlert('Error... ', 'Hubo un error en el servidor al intentar insertar la Pelicula.', 'alert-error');
            }
            /**************/
        } else {
            respuestaPelicula = llamarServicio("POST", "/Servicios/servicio.asmx/ActualizarPelicula", datos, false, "application/json; charset=utf-8", "json");
            //Agregado 1-12
            if (respuestaPelicula == null) {
                mostrarAlert('Error... ', 'Hubo un error en el servidor al intentar actualizar la Pelicula.', 'alert-error');
            }
            /**************/
            seActualizo = true;
        }

        cerrarPopUp();

        if (seActualizo) {
            dataPeli = "{'idPelicula':'" + $("#pelicula_id").val() + "'}";
            setTimeout("consultarPelicula(dataPeli, false)", 1000);
        } else {
            limpiarFormPelicula();
        }
    }
}

function validarLibro() {
    jQuery.validator.addMethod("alfanumerico", function (value, element) {
        return this.optional(element) || /^[\w.,: áéíóúÁÉÍÓÚñÑ]*$/.test(value);
    }, "Ha ingresado caracteres inválidos");

    $('#frmLibro').validate({
        errorPlacement: function (error, element) {
            error.insertAfter(element);
            error.css("margin", "0 0 0 0");
        },
        rules: {
            libro: {
                required: true,
                alfanumerico: true,
                maxlength: 60
            },
            anio: {
                required: true,
                number: true,
                minlength: 4,
                maxlength: 4
            },
            autores: {
                required: true,
                alfanumerico: true,
                maxlength: 60
            },
            resumen: {
                required: true,
                alfanumerico: true,
                maxlength: 1000
            },
            isbn: {
                required: true,
                number: true,
                minlength: 13,
                maxlength: 13
            },
            idioma: {
                required: true,
                alfanumerico: true,
                maxlength: 20
            }
        },
        messages: {
            libro: {
                required: "Debe ingresar el título del libro"
            },
            anio: {
                required: "Debe ingresar el año de publicación",
                number: "El año es inválido",
                minlength: "El año debe tener {0} dígitos",
                maxlength: "El año debe tener {0} dígitos"
            },
            autores: {
                required: "Debe ingresar el autor",
                maxlength: "Ha superado el límite de {0} caracteres"
            },
            resumen: {
                required: "Debe ingresar el resumen",
                maxlength: "Ha superado el límite de {0} caracteres"
            },
            isbn: {
                required: "Debe ingresar el Isbn",
                number: "Debe ingresar solo digitos",
                minlength: "El Isbn debe tener {0} digitos",
                maxlength: "El Isbn debe tener {0} digitos"
            },
            idioma: {
                required: "Debe ingresar el idioma",
                maxlength: "Ha superado el límite de {0} caracteres"
            }
        }
    });

    if ($("#frmLibro").valid())
        return true;
    else
        return false;
}

function submitirLibro() {
    if (validarLibro()){

        //Obtenemos el id del usuario. Si inserta es uno y si actualiza es el del que lo creo//
        var usuario_id;
        if ($("#libro_id").val() == "") {
            var respuestaUsuario  = llamarServicio("POST", "/Servicios/servicio.asmx/ObtenerUsuario", "", false, "application/json; charset=utf-8", "json");
            //Agregado 1-12
            if (respuestaUsuario == null) {
                mostrarAlert('Error... ', 'Hubo un error en el servidor al intentar obtener el usuario.', 'alert-error');
            }
            /**************/
            usuario_id = respuestaUsuario .Id;
        }
        else
            usuario_id = $("#usuario_id").val();

        var datos = "{'libro_id': '"+$("#libro_id").val()+"', 'genero_id': '"+$("#ddlGenero option:selected").val()+"', 'usuario_id':'"+usuario_id+"', 'titulo': '"+$("#libro").val()+"', 'autores': '"+$("#autores").val()+"', 'anio': '"+$("#anio").val()+"', 'resumen': '"+$("#resumen").val()+"', 'idioma': '"+$("#idioma").val()+"', 'imagen': '"+$('#Photo').attr('src')+"', 'isbn': '"+$("#isbn").val()+"' }";
        var respuestaLibro = null;
        var seActualizo = false;
        if ($("#libro_id").val() == "") {
            respuestaLibro = llamarServicio("POST", "/Servicios/servicio.asmx/InsertarLibro", datos, false, "application/json; charset=utf-8", "json");
            //Agregado 1-12
            if (respuestaLibro == null) {
                mostrarAlert('Error... ', 'Hubo un error en el servidor al intentar insertar el libro.', 'alert-error');
            }
            /**************/
        } else {
            respuestaLibro = llamarServicio("POST", "/Servicios/servicio.asmx/ActualizarLibro", datos, false, "application/json; charset=utf-8", "json");
            //Agregado 1-12
            if (respuestaLibro == null) {
                mostrarAlert('Error... ', 'Hubo un error en el servidor al intentar actualizar el libro.', 'alert-error');
            }
            /**************/
            seActualizo = true;
        }

        cerrarPopUp();

        if (seActualizo) {
            dataLibro = "{'idLibro':'" + $("#libro_id").val() + "'}";
            setTimeout("consultarLibro(dataLibro, false)", 1000);
        }else{
            limpiarFormLibro();
        }
    }
}

function validarTeatro(){
    jQuery.validator.addMethod("alfanumerico", function (value, element) {
        return this.optional(element) || /^[\w.,: áéíóúÁÉÍÓÚñÑ]*$/.test(value);
    }, "Ha ingresado caracteres inválidos");

    $('#frmTeatro').validate({
        errorPlacement: function (error, element) {
            error.insertAfter(element);
            error.css("margin", "0 0 0 0");
        },
        rules: {
            obra: {
                required: true,
                alfanumerico: true,
                maxlength: 60
            },
            teatro: {
                required: true,
                alfanumerico: true,
                maxlength: 60
            },
            resumen: {
                required: true,
                alfanumerico: true,
                maxlength: 1000
            },
            directores: {
                required: true,
                alfanumerico: true,
                maxlength: 60
            },
            actores: {
                required: true,
                alfanumerico: true,
                maxlength: 250
            }
        },
        messages: {
            obra: {
                required: "Debe ingresar el título de la obra",
                maxlength: "Ha superado el límite de {0} caracteres"
            },
            teatro: {
                required: "Debe ingresar el teatro",
                maxlength: "Ha superado el límite de {0} caracteres"
            },
            resumen: {
                required: "Debe ingresar el resumen",
                maxlength: "Ha superado el límite de {0} caracteres"
            },
            directores: {
                required: "Debe ingresar el director",
                maxlength: "Ha superado el límite de {0} caracteres"
            },
            actores: {
                required: "Debe ingresar al menos un actor",
                maxlength: "Ha superado el límite de {0} caracteres"
            }
        }
    });
    if ($("#frmTeatro").valid())
        return true;
    else
        return false;
}

function submitirTeatro() {
    if (validarTeatro()) {

        //Obtenemos el id del usuario. Si inserta es uno y si actualiza es el del que lo creo//
        var usuario_id;
        if ($("#teatro_id").val() == "") {
            var respuestaUsuario = llamarServicio("POST", "/Servicios/servicio.asmx/ObtenerUsuario", "", false, "application/json; charset=utf-8", "json");
            //Agregado 1-12
            if (respuestaUsuario == null) {
                mostrarAlert('Error... ', 'Hubo un error en el servidor al intentar obtener el usuario.', 'alert-error');
            }
            /**************/
            usuario_id = respuestaUsuario.Id;
        }
        else {
            usuario_id = $("#usuario_id").val();
        }

        debugger;
        var datos = "{'teatro_id': '" + $("#teatro_id").val() + "', 'genero_id': '" + $("#ddlGenero option:selected").val() + "', 'usuario_id': '" + usuario_id + "', 'titulo': '" + $("#obra").val() + "', 'teatro': '" + $("#teatro").val() + "', 'resumen': '" + $("#resumen").val() + "', 'imagen': '" + $('#Photo').attr('src') + "', 'directores': '" + $("#directores").val() + "', 'actores': '" + $("#actores").val() + "'}";
        var respuestaTeatro = null;
        var seActualizo = false;
        if ($("#teatro_id").val() == "") {
            respuestaTeatro = llamarServicio("POST", "/Servicios/servicio.asmx/InsertarObraTeatro", datos, false, "application/json; charset=utf-8", "json");
            //Agregado 1-12
            if (respuestaTeatro == null) {
                mostrarAlert('Error... ', 'Hubo un error en el servidor al intentar insertar la obra de teatro.', 'alert-error');
            }
            /**************/
        } else {
            respuestaTeatro = llamarServicio("POST", "/Servicios/servicio.asmx/ActualizarObraTeatro", datos, false, "application/json; charset=utf-8", "json");
            //Agregado 1-12
            if (respuestaTeatro == null) {
                mostrarAlert('Error... ', 'Hubo un error en el servidor al intentar actualizar la obra de teatro.', 'alert-error');
            }
            /**************/
            seActualizo = true;
        }

        cerrarPopUp();

        if (seActualizo) {
            dataTeatro = "{'idTeatro':'" + $("#teatro_id").val() + "'}";
            setTimeout("consultarTeatro(dataTeatro, false)", 1000);
        } else {
            limpiarFormTeatro();
        }
    }
}

function validarRestaurant() {
    jQuery.validator.addMethod("alfanumerico", function (value, element) {
        return this.optional(element) || /^[\w.,: áéíóúÁÉÍÓÚñÑ]*$/.test(value);
    }, "Ha ingresado caracteres inválidos");

    jQuery.validator.addMethod("telefonoFormat", function (value, element) {
        return this.optional(element) || /^([0-9]{4}-[0-9]{4})|([0-9]{2}-[0-9]{4}-[0-9]{4})$/.test(value);
    }, "El formato debe ser 4461-3234 ó 15-2345-6578");

    $('#frmRestaurant').validate({
        errorPlacement: function (error, element) {
            error.insertAfter(element);
            error.css("margin", "0 0 0 0");
        },
        rules: {
            restaurant: {
                required: true,
                alfanumerico: true,
                maxlength: 60
            },
            resumen: {
                required: true,
                alfanumerico: true,
                maxlength: 1000
            },
            direccion: {
                required: true,
                alfanumerico: true,
                maxlength: 60
            },
            telefono: {
                required: true,
                maxlength: 20,
                telefonoFormat: true
            },
            horario: {
                required: true,
                alfanumerico: true,
                maxlength: 35
            }
        },
        messages: {
            restaurant: {
                required: "Debe ingresar el nombre del Restaurant",
                maxlength: "Ha superado el límite de {0} caracteres"
            },
            resumen: {
                required: "Debe ingresar el resumen",
                maxlength: "Ha superado el límite de {0} caracteres"
            },
            direccion: {
                required: "Debe ingresar la dirección del Restaurant",
                maxlength: "Ha superado el límite de {0} caracteres"
            },
            telefono: {
                required: "Debe ingresar un teléfono",
                maxlength: "Ha superado el límite de {0} caracteres"
            },
            horario: {
                required: "Debe ingresar el horario del Restaurant",
                maxlength: "Ha superado el límite de {0} caracteres"
            }
        }
    });

    if ($("#frmRestaurant").valid())
        return true;
    else
        return false;
}

function submitirRestaurant() {
    if (validarRestaurant()) {

        //Obtenemos el id del usuario. Si inserta es uno y si actualiza es el del que lo creo//
        var usuario_id;
        if ($("#restaurant_id").val() == "") {
            var respuestaUsuario = llamarServicio("POST", "/Servicios/servicio.asmx/ObtenerUsuario", "", false, "application/json; charset=utf-8", "json");
            //Agregado 1-12
            if (respuestaUsuario == null) {
                mostrarAlert('Error... ', 'Hubo un error en el servidor al intentar obtener el usuario.', 'alert-error');
            }
            /**************/
            usuario_id = respuestaUsuario.Id;
        }
        else
            usuario_id = $("#usuario_id").val();

        var datos = "{'restaurant_id': '" + $("#restaurant_id").val() + "', 'categoria_id': '" + $("#ddlCategoria option:selected").val() + "', 'usuario_id': '" + usuario_id + "','localidad_id': '" + $("#ddlLocalidad option:selected").val() + "', 'provincia_id': '" + $("#ddlProvincia option:selected").val() + "','nombre': '" + $("#restaurant").val() + "','direccion': '" + $("#direccion").val() + "','telefono': '" + $("#telefono").val() + "','horario': '" + $("#horario").val() + "','imagen': '" + $('#Photo').attr('src') + "','resumen': '" + $("#resumen").val() + "'}";
        var respuestaRestaurant = null;
        var seActualizo = false;
        if ($("#restaurant_id").val() == "") {
            respuestaRestaurant = llamarServicio("POST", "/Servicios/servicio.asmx/InsertarRestaurant", datos, false, "application/json; charset=utf-8", "json");
            //Agregado 1-12
            if (respuestaRestaurant == null) {
                mostrarAlert('Error... ', 'Hubo un error en el servidor al intentar insertar el restaurant.', 'alert-error');
            }
            /**************/
        } else {
            respuestaRestaurant = llamarServicio("POST", "/Servicios/servicio.asmx/ActualizarRestaurant", datos, false, "application/json; charset=utf-8", "json");
            //Agregado 1-12
            if (respuestaRestaurant == null) {
                mostrarAlert('Error... ', 'Hubo un error en el servidor al intentar actualizar el restaurant.', 'alert-error');
            }
            /**************/
            seActualizo = true;
        }

        cerrarPopUp();

        if (seActualizo) {
            dataRestaurant = "{'idRestaurant':'" + $("#restaurant_id").val() + "'}";
            setTimeout("consultarRestaurant(dataRestaurant, false)", 1000);
        } else {
            limpiarFormRestaurant();
        }
    }
}

